Semantic answering system and method

ABSTRACT

Answering System enables a user to input a query and responds with answers. Server stores an indexed database of a plurality of S-A-O&#39;s (subject-action-object). User generates the query that includes query elements (A-O), (S-A), or (S-X-O), or element (S). The server identifies the database element S, O, or A, or elements (A-O) associated with a respective knowledge base S-A-O that includes the query element(s) in response to the server receiving the query and generates a natural language answer S-A-O that includes the identified and the query elements(s) and transmits the answer to the user apparatus that provides an audio or visual response. The server can conduct WWW searches for documents with S-A-O elements that match query element(s) and adds them to the database, thus treating the WWW as an available knowledge base.

RELATED APPLICATIONS

[0001] This is a continuation-in-part application of U.S. patent application Ser. No. 09/815,260 filed Mar. 22, 2001 entitled NATURAL LANGUAGE PROCESSING AND QUERY DRIVEN INFORMATION RETRIEVAL, which is a continuing application of U.S. Provisional Application SN. 60/198,782 filed Apr. 20, 2000. This is also a continuation-in-part of U.S. Provisional Patent Application SN. 60/249,610 filed Nov. 17, 2000. Benefits of priorities to all related applications are claimed.

BACKGROUND

[0002] The present invention relates to Query and Response information retrieval systems and, more particularly, to such systems capable of receiving a user entered question, processing the data representing the question, searching local and/or web based databases for information relevant to an answer to user's query, and conveying such answer information to the user.

[0003] Systems of this general type are known that enable a user to access a preprocessed database of predetermined standard answers to a predetermined set of user queries. The standard system responds to a user-entered query by processing the query to determine one or a combination of key words. The system includes a look-up table to determine which predetermined, stored standard answer or answers have the key word or combination of key words may be responsive to the query. The system activates a link to the predetermined, stored answer (sentence) that includes the matched key word(s) between the user query and the look-up table.

[0004] Such known systems are quite limited in the scope or subject matter of the queries that the system can properly process. For example, if user query comprises words that lack all the key words pre-stored in the look-up table, then the system cannot respond with any stored answer or it may respond with an incorrect prestored answer. Also, the known systems are limited to a particular subject matter, such as shareholder inquiries of a particular stock company, in order to focus the queries on more likely pre-stored key words.

[0005] Accordingly, there is a need for a system that does not rely on pre-stored key work matching and that can process the user query to gain an understanding of information or concepts requested, then searching preprocessed and knowledge bases of storing candidate concepts with links to databases of full documents in which such concepts appear. In addition, there is a need for such a system that can dynamically search all databases of stored documents on the World Wide Web for concept(s) in the user query, downloads candidate documents, processes them dynamically to determine if the downloaded document contains an answer to the query. If it does, then extracting the answer and presenting it to the user and adding the query, answer, and document link to the answer database.

SUMMARY OF EXEMPLARY EMBODIMENTS OF THE INVENTION

[0006] The present invention relates to a system to enable a user to ask a question (query) and for providing the user with one or more answers or solutions to such question. Since the system according to the principles of the present invention processes a query and generates answers employs the same methods regardless of the query format (X-A-O), (S-X-X), (S-X-O), or (S-A-X), where “X” is the absence of an element, and responds with answers in preferably (S-A-O) format, only the processing of query format (X-A-O) will be described in detail below but it will be understood that such processing applies to the other query formats as well.

[0007] The present system includes software for processing such query into, EG, Action-Object (A-O) format and includes a knowledge base or database into which a plurality of documents or other information have been or shall be semantically processed which knowledge base or database associates a plurality of solutions or subjects (S's) in association with specific A-O's as well as links for each A-O to the source document in which the A-O appears. The database can be server resident and in response to a user A-O query, transmits to the user some or all of the solutions stored in association with the specific A-O query. If no solutions (S's) reside in the database, the system searches the web for available web data, finds one or more entries (hereafter “documents”) with relevant S-A-O, updates the database by storing the query A-O and particular S in association with the stored query A-O along with a link to the source document and transmits the answer (S) or answers (S₁, S₂, . . . ) to the user. Preferably, as seen in the word examples below, the answers are conveyed in S-A-O format for the user's convenience and reminding user of the query user submitted, particularly since the Web search may take a few minutes and the system calls the user back with an answer a described below.

[0008] In addition to user being able to use user's PC keyboard or mouse to initiate a query, a key feature of exemplary embodiments according to the principles of the present invention, enables user to use an ordinary telephone or cellular phone to access and query the system verbally and to receive an audio or visual display response containing the answer or solution.

[0009] An alternate feature of an alternate embodiment includes including in the user telephone or cellular phone a micro chip bearing software that converts voice to digital text, processes the query into A-O format, accesses the database server via the web, receives the solutions or answers from the web based server, converts it from text to synthesized voice or visual display data for user perception at users hand unit.

[0010] Other and further objects, benefits, and features shall become apparent with the following detailed description and drawings.

DESCRIPTION OF DRAWINGS

[0011]FIG. 1 is a schematic representation of a system according to the principles of the present invention.

[0012]FIG. 2 is a block diagram of the principal steps and elements of the system of FIG. 1.

[0013]FIG. 3 is similar to FIG. 2 showing an alternate embodiment of the present invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION

[0014] One example of a Semantic Answering System (SAS) according to the principles of the present invention includes voice-to-text transformation device or/and software system, client software module, a server storing the knowledge base or database of semantically created answers.

[0015] A user asks a question by voice, using microphone or telephone; the sound is transformed into text by software or special semantic chip, which is able to recognize the question. For example, the user asks, “How can I reduce cholesterol?” Text-to-voice device or software transforms sound into a text file as a query. One exemplary method of achieving this is disclosed in U.S. patent application Ser. No. 09/815,260 filed Mar. 22, 2001. The Client software module adds URL to the query; URL/query is sent over the World Wide Web to the Server, which contains the knowledge base of semantic index in Subject-Action-Object format.

[0016] Examples of Semantic Index

[0017] Assume the following are stored in the index: Dietary measure - reduce - cholesterol saturation; (S₁) (A) (O) Clofibrate - reduce - cholesterol. (S₂) (A) (O)

[0018] The server searches the database for (Ss) answers which match the query, EG, (A-O) and transmits them in HTML format over the Internet back to client software module, where A-O and answers (S₁ and S₂) are transformed into text files. Text files are transformed into voice by text-to-voice device or/and software system such as digital computer.

[0019] Alternately, if there is no answer in the database to the user query (A-O), semantic indexing engine processes the Web to find and retrieve relevant documents, then creates subject-action-object entries index and sends the index entries over the Internet.

[0020] Generally, the following signal transformations occur: (See FIG. 1)

[0021] User asks a question to a microphone 1.

[0022] The software or the hardware-level apparatus 2 converts the voice data stream into a plain text. Alternatively, user with the aid of keyboard, scanner, or other input device 3 may enter plain text. Problem statement is extracted from the plain text. The format of the problem statement is Action-Object (A-O). Client software 4 codes the Problem statement as parameter of the URL query.

[0023] URL Query 5 is sent over the World Wide Web to the Semantic Server.

[0024] The Semantic Server 6 searches for the available solutions in the semantic database. One example of a Semantic S-A-O processing method is disclosed in U.S. patent application Ser. No. 09/541,182 filed Apr. 3, 2000. If solutions (answers) exist, they are returned in HTML format. The representation of the solutions is basically Subject-Action-Object (S-A-O). If solution is not found in the Semantic Database 7, additional search on the WWW is performed. User will be later notified about the results. The search can be performed on a regular basis to accommodate the changes of the Internet.

[0025] The solutions are filtered by server 6 or the user PC or device and can be stored on the User PC. The links to the source documents can be stored in the Semantic database or client PC, as well. User can be notified by email that there are new solutions to his (her) problems in the Semantic Database.

[0026] Text-to-Voice module 1 generates the audio stream from the filtered solutions.

[0027] User listens to the answers in sequential order to the user's query.

[0028] On the whole, the SAS 10 delivers the answers to the user's questions. Answers can also be visually displayed or printed out as desired by user's PC.

[0029] If the current database does not contain solutions to the user's problem, the Semantic Server performs a Web search. The results are converted to the Subject-Action-Object format. The components of the semantic database index are updated. The user may be notified about solution availability by, but not limited to, one of the following methods:

[0030] 1. During the next interaction with SAS

[0031] 2. Over the telephone

[0032] 3. Over email

[0033] 4. Over a pager

[0034] The components of SAS are (The following numbers relate to the blocks of FIG. 2):

[0035]21. User. The user asks the questions and receives the answers to these questions.

[0036] Output: Question containing a problem that is expressed in user voice, or as result of interaction with User PC through microphone, keyboard, scanner, etc.

[0037]22. Voice Receiver. VR converts the user voice to the electrical signals. Examples include headset microphone, telephone microphone, etc. The component includes also the sound card if it is used with the computer.

[0038] Input: User voice

[0039] Output: Voice stream

[0040]23. Voice Recognition Software. This software converts the signals coming from the Voice Receiver into plain text. Examples of Voice Recognition Software include, but not limited to ViaVoice™ software from IBM Corporation, or Dragon NaturallySpeaking from Dragon Systems.

[0041] Input: Voice stream

[0042] Output: Plain text that corresponds to the user's voice.

[0043]24. Client Software Module. Component 24 represents a module for generating queries to be sent over the Internet. The Module formulates a problem contained in the user's question. Format of the problem is Action-Object (A-O). This module also supports plain text input as an extra functionality.

[0044] Input: Plain text

[0045] Output: Problem statement in form Action-Object.

[0046]25. Internet Connection. Module 25 converts Action-Object problem statement into URL that is transmitted over one of the following connections, but not limited to Network Connection, Modem Connection, and Wireless Connection. The additional parameters of the URL may include use synonyms and constraints with the Semantic Server. See U.S. patent application Ser. No. 09/785,018 filed Feb. 16, 2001 and Ser. No. 09/814,698 filed Apr. 24, 2001.

[0047] Input: Problem statement in form Action-Object.

[0048] Output: URL.

[0049]26. Semantic Server/Semantic Database. Semantic server 26 intercepts the URL. Parameters of an URL define the algorithm of the server functioning. In a general case the semantic server generates SQL query understandable by Semantic Database. See for example: www.cobrain.com

[0050] Input: URL.

[0051] Output: SQL Query.

[0052]27. Semantic Database/Semantic Server. Semantic Database or Knowledge Base 27 stores the available solutions to the users' problems (A-O's). The database content is periodically updated. Content is optionally updated based in the users' requests. The solutions are stored in the form Subject-Action-Object. If Action-Object problem statement has similarity with at least one of the Subject-Action-Object solution, then it is retrieved from database 27. The maximal number of the solutions is indicated as one of the URL parameters. The results are presented as the recordsets. Semantic Server transforms these recordsets to the HTML pages.

[0053] Input: SQL Query.

[0054] Output: HTML page.

[0055]28. Internet Connection. Internet Connection 28 delivers the Web page containing solutions in HTML format to the Client computer or device resident Software Module which transforms the HTML format into plain text format.

[0056] Input: HTML page.

[0057] Output: Plain text.

[0058]29. Client Software Module. The module filters out the results. One of the following, but not limited to, set of filters may be applied: Subject length, specific terms (such as stop words “be” “is”, etc.), number of solutions, etc. The results may be in Subject-Action-Object format, or may contain the source sentences. The following information can be stored at the User PC:

[0059] Result as Subject-Action-Object;

[0060] Sentence of the source document that contains this result;

[0061] [Hyper]link to the source document.

[0062]  The filters that can be used for voice output are:

[0063] Subject or Object are too long

[0064] The total S-A-O length is too long

[0065]  The user is notified if there are more results than allowed to be spoken.

[0066] Input: Plain text.

[0067] Output: Plain text.

[0068]  As an alternative, this filtering function can be resident in the semantic server block 26 so that only filtered answer data are conveyed to the user's computer.

[0069]30. Voice Generation Software. The text of the answer passes through Voice Generation Software 30 (examples are ViaVoice software from IBM Corporation, or Dragon NaturallySpeaking from Dragon Systems).

[0070] Input: Plain text.

[0071] Output: Voice signal.

[0072]31. Speaking Device. Speaking Device 31 delivers the voice to the user by generating audio frequency waves. Examples include, but not limited, to telephone or cell phone speaker, computer speaker, or headset speaker. The component includes also the sound card if it is used with the computer.

[0073] Input: Voice signal.

[0074] Output: Audio signal.

EXAMPLES OF USER-SAS INTERACTION

[0075] Example 1. The solutions for the user problems are found in the Semantic Database.

[0076]

[0077] Step No. 1 SAS:

[0078] “Hello, Dr. Smith!”

[0079] Step No. 2 User:

[0080] “How can I reduce cholesterol?”

[0081] Step No. 3 SAS:

[0082] “Reduce cholesterol?” (pause)

[0083] Step No. 4 SAS:

[0084] “Dietary measure-reduce-cholesterol saturation”

[0085] “Clofibrate-reduce-cholesterol”

[0086] “Saturation-reduce-serum cholesterol level”

[0087] “Talk with you later”

[0088] Step No. 5 User:

[0089] “Hello?”

[0090] Step No. 6 SAS:

[0091] “Yes, Dr. Smith!”

[0092] Step No. 7 <Going to step 2 user asks another question>

[0093]

[0094] Example 2. The solutions for the user problems are not found in the Semantic Database.

[0095]

[0096] Step No. 1 SAS:

[0097] “Hello, Dr. Smith!”

[0098] Step No. 2 User:

[0099] “How to cure West Nile encephalitis?”

[0100] Step No. 3 SAS:

[0101] “Cure West Nile encephalitis?” (pause)

[0102] Step No. 4 SAS:

[0103] “Currently there are no solutions of the problem “Cure West Nile encephalitis” in Semantic Database. Do you want to initiate the search over the Internet?”

[0104] Step No. 5 User:

[0105] “Yes”

[0106] Step No. 6 SAS:

[0107] “I will inform you when the solution becomes available. Talk with you later.”

[0108] Step No. 7 SAS continues to search for solutions. The solutions for the user problem later appear available in the Semantic Database.

[0109] SAS calls to the user:

[0110] Step No. 8 SAS:

[0111] “Hello, Dr. Smith! 10 minutes ago you were interested in the problem “Cure West Nile encephalitis”. Currently we have the following solutions:

[0112] a. X cures West Nile encephalitis.

[0113] b. Y cures West Nile encephalitis.

[0114] c. Z cures West Nile encephalitis.”

[0115] As mentioned above, the SAS can handle different types of formatted queries. For example, each of the following would respond to user as above.

Different Types of Formatted Questions

[0116] Example 3. (S-A-X) query format

[0117]

[0118] Question: What does aspirin cause?

[0119] S-aspirin, A-cause

[0120] Answers:

[0121] a. Aspirin-cause-gastric damage

[0122] b. Aspirin-cause-stomach bleeding

[0123] c. Aspirin-cause-stomach irritation

[0124]

[0125] Example 4. (S-X-X) query format

[0126]

[0127] Question: What does aspirin do?

[0128] S-aspirin

[0129] Answers:

[0130] a. Aspirin-reduce-headache

[0131] b. Aspirin-prevent-pregnancy loss

[0132] c. Aspirin-reduce-risk of cataract development

[0133]

[0134] Example 5. (S-X-O) query format

[0135]

[0136] Question: What are the relations between aspirin and asthma?

[0137] S-aspirin, O-asthma

[0138] Answers:

[0139] a. Aspirin-induce-asthma

[0140] b. Aspirin-trigger-asthma attack

ALTERNATE EMBODIMENT

[0141] An alternate embodiment is shown in FIG. 3 in which user PC or device transmits the query in plain text. The query is processed and the problem statement generated in server 36 and the SAO, whether stored in database 27 or acquired from the World Wide Web and stored in database 27, is transmitted HTML page by server 36. The remainder of the system functions as mentioned above with this arrangement, all semantic software and problem-solution statements processing is located at the server instead of each users apparatus.

[0142] Possible Applications

[0143] Semantic chip for mobile and other devices.

[0144] This chip delivers the following functionality:

[0145] Speech to Text Conversion

[0146] Problem Statement based on the semantic algorithms

[0147] Transmission of the problem through the web to the Semantic Server

[0148] Receiving of the solution from the Semantic Server through the web

[0149] Solutions filtering

[0150] Text to Speech conversion

[0151] This corresponds to the FIG. 2 components 23, 24, 25, 28, 29, and 30 preferably in one chip as the users terminal or cell phone. Alternately, filtering can be done at the Semantic Server instead of the user's PC or chip.

[0152] Self-Growing Semantic Networks

[0153] Whenever each user asks the SAS a new question or new solutions to old questions appear in the Semantic Server, the server adds them to the Semantic database. As Semantic Database grows and stores more and more content S-A-O's, the probability of the available solution increases over time.

[0154] Semantic Updating or News Networks

[0155] Example 3. Original user is interested in the specific problem A-O. After initially serving the original user, the Semantic Server continues to track the appearance of any new S-A-O solutions that did not exist in the database before the original user was served. This updating happens either on a regular basis or during processing the relevant A-O queries of other users. The original user is automatically informed that the new solution is available.

[0156] For details of suitable semantic processing systems and the S-A-O format, see U.S. patent application Ser. Nos. 09/321,804, filed May 27, 1999 and 09/541,182, filed Apr. 3, 2000, and the Knowledgist® Software and COBRAIN® Software marketed by Invention Machine Corporation of Boston, Mass. and used to support Invention Machine's website www.cobrain.com. See also U.S. patent application Ser. No. 09/815,260, filed Mar. 22, 2001 for further SAO processing, query recognition, and expanded SAO query search capabilities.

[0157] Various improvements and modifications can be made to the herein disclosed exemplary embodiments without departing from the scope of the present invention. 

We claim:
 1. A system enabling a user to ask a question (query) and for providing the user with one or more answers or solutions to such question, the system comprising user apparatus for generating first signals representative of a natural language user query that includes at least a query elements(A-O), (S-A), or (S-X-O), or element(S), a server for storing a knowledge base of a plurality of S-A-O's and for identifying at least one knowledge base element S, O, or A, or elements (A-O) associated with a respective knowledge base S-A-O that includes the query elements or element in response to the server receiving the first signals, and generating second signals representative of the natural language answer S-A-O that includes the identified element or elements and the query elements or element, the user apparatus generating a natural language audio response or visual display to the user of the natural language answers S-A-O in response to receiving the second signals, and means for transmitting the first signals from the user apparatus to the server and for transmitting the second signals from the server to the user apparatus.
 2. A system as set forth in claim 1, wherein said server conducts a search of the World Wide Web, identifies documents that includes document S-A-O's each comprising element or elements that match the query element or elements, stores links to such documents, and adds such document S-A-O's to the knowledge base, and wherein the server includes as part of the second signals representation of each identified document answer S-A-O.
 3. A system as set forth in claim 1, wherein said server conducts said search automatically in response to server determining that no knowledge base element or elements matches the query element or elements or in response to user search command.
 4. A system as set forth in claim 3, wherein said server is programmed to query the user to determine if user wants to initiate a user search command.
 5. A system as set forth in claim 2, wherein user apparatus converts human voice signals into said first signals.
 6. A system as set forth in claim 2, wherein user apparatus converts second signals into audio signals.
 7. A system as set forth in claim 2, wherein said user apparatus includes voice-to-text and text-to-voice recognition capability and client software module for generating said first signals and for receiving said second signals.
 8. A system as set forth in claim 2, wherein said user apparatus includes a user digital computer for generating said first signals and receiving said second signals.
 9. A system as set forth in claim 8, wherein said user apparatus further includes at least one user input device that includes a human voice to signal converter or a keyboard.
 10. A system as set forth in claim 8, wherein said user apparatus further includes at least one user input device that includes a signal to audio converter or a visual display monitor.
 11. A system as set forth in claim 2, wherein said second signals represent each answer S-A-O in sentence format.
 12. In a digital computing system, the method enabling a user to input a question (query) and providing the user with one or more answers or solutions to such query, the method comprising generating first signals representative of a natural language user query that includes at least query elements(A-O), (S-A), or (S-X-O), or element (S), storing a knowledge base of a plurality of S-A-O's identifying in response to the first signals at least one knowledge base element S, O, or A, or elements (A-O) associated with a respective knowledge base S-A-O that includes the query elements or element, and generating, in response to said identifying, second signals representative of the natural language answer S-A-O that includes the identified element or elements and the query elements or element, generating in response to the second signals a natural language audio message or visual display to the user of the natural language answers S-A-O.
 13. A method as set forth in claim 12, further comprising searching the World Wide Web, identifying documents that includes document S-A-O's each comprising element or elements that match the query element or elements, storing links to such documents, and adding such document S-A-O's to the knowledge base, and wherein at least a part of the second signals represent each identified document S-A-O.
 14. A method as set forth in claim 12, wherein said searching initiates automatically in response to identifying no knowledge base element or elements that matches the query element or elements or in response to user search command.
 15. A method as set forth in claim 14, further including prompting the user to determine if user wants to initiate a user search command.
 16. A method as set forth in claim 13, wherein user apparatus converts human voice signals into said first signals.
 17. A method as set forth in claim 13, wherein user apparatus converts second signals into audio signals or visual display.
 18. A method as set forth in claim 13, wherein generating the first signals includes converting voice-to-text.
 19. A method as set forth in claim 13, wherein generating the audio message or visual display includes converting text-to-audio or text-to-visual. 